#pragma once

#ifndef __SCRIPT_EDITOR__PREREQS__HH__
#define __SCRIPT_EDITOR__PREREQS__HH__

#include <LitFileSystem.h>
#include <LitStream.h>
#include <LitEditorPrerequisites.h>
#include "LitScriptPrereqs.h"

namespace Lit
{
	namespace Editor
	{
		class ScriptEditorWidget;
		class ScriptLogOutput;
		class ScriptTabWidget;
		class ScriptCompiler;
		class ScriptRegisters;
		class ScriptSolution;
		class ScriptSolutionItem;
		class ScriptSolutionTree;
		class ScriptSolutionSerialiser;

		typedef RefPtr<ScriptEditorWidget>			ScriptEditorWidgetPtr;
		typedef RefPtr<ScriptLogOutput>				ScriptLogOutputPtr;
		typedef RefPtr<ScriptTabWidget>				ScriptTabWidgetPtr;
		typedef RefPtr<ScriptCompiler>				ScriptCompilerPtr;
		typedef RefPtr<ScriptRegisters>				ScriptRegistersPtr;
		typedef RefPtr<ScriptSolution>				ScriptSolutionPtr;
		typedef RefPtr<ScriptSolutionItem>			ScriptSolutionItemPtr;
		typedef RefPtr<ScriptSolutionSerialiser>	ScriptSolutionSerialiserPtr;

		FilePath ScriptUserPath();
	};
};

#include "ScriptEditorSolutionItem.h"
#endif